Capacity planning of a server used in a server/client wide-area network (WAN) is quickly becoming more important as the use of WANs (such as the Internet) rapidly increase. WAN servers often are used by Internet sites and must be able to efficiently handle the anticipated requests to the site. Capacity planning helps predict if and when system saturation will occur by testing the maximum user load and speed of the target server. Thus, accurate and realistic testing a server is a crucial foundation for building a network system.
One approach to testing a WAN server is to set up a test WAN that uses communication links, routers and clients at distant locations determine how the WAN server will behave. However, this approach is both expensive and time-intensive. Another approach is to connect the WAN server in a local area network (LAN) to test how the server will perform. One problem with this approach, however, is that characteristics of a LAN and of a WAN are usually very different. Thus, testing a WAN server on a LAN usually does not yield accurate results.
In general, the characteristics of a LAN connection are much different than the characteristics of a WAN connection because of different packet characteristics. A packet is a unit of information is transmitted as a whole from one device to another over a network. The packet usually includes a header (containing, for example, address information), error-control information and data. One connection characteristic that is different for a LAN and a WAN is packet propagation. For example, on a LAN, propagation of a packet over a network connection is virtually instantaneous because of the short distances required. Conversely, on a WAN, a packet usually travels large distances and takes much longer to reach its destination. In addition, a WAN usually includes network devices (such as communication links and routers) that impose delays that further slow the propagation of packets over the network.
Other packet characteristics also help to create differences between LAN and WAN connection characteristics. For example, network devices in a WAN (such as a router) often lose packets (known as packet dropping) and reproduce packets (known as packet duplication). In addition, WAN packets are often sent over different network paths so that a packet that was sent before another packet may arrive later in time. This leads to packet reordering at the receiving end, and the server must use additional resources to place the packets in the correct order. Further, WAN packets may be divided into several smaller packets by routers when the router is extremely busy. This packet fragmentation also imposes an extra burden on the server.
In order to account for the differences between LAN and WAN packets a device called a hardware simulator commonly is used. One problem, however, with hardware simulators is that they are expensive and do not provide simulation of all the above-mentioned network connection characteristics. For example, because a hardware simulator does not work at the network layer it cannot change the IP address or port of incoming or outgoing packets. This reduces the accuracy of the simulation because a LAN only sends packets from a limited number of sources. Conversely, a WAN server typically receives requests from sources having a wide range of IP addresses.
Accordingly, there exists a need for a network simulation system that provides realistic and accurate simulation of major network connection characteristics. This network simulation system would be able to realistically simulate the transmission speed and bandwidth of a network (such as a WAN) connection. In addition, the network simulation system would accurate simulate packet characteristics that affect a network connection, such as packet dropping, packet fragmentation, packet duplication and packet reordering. Whatever the merits of the above-mentioned systems and methods, they do not achieve the benefits of the present invention.